Cloud Computing I - Week01 - 1 - Basic Fundamentals
Orientation Towards Cloud Computing Concepts: Some Basic Computer Science Fundamentals
I. Basic DS
- Queue
- head, tail, dequeue
- Stack
- Push, Pop, Top
II. Process : A Program in Action
- basically a program in action
- a process P1 is given as
graph LR
A[main()] -- calls --> B[int f1()] --> C[int f2()]
- a snapshot of a process contain
- code, program counter, current status of stack/heap & registers and few other elements
III. Computer Architecture
CPU
Registers
Cache
Memory
Disk
- Accessing registers > cache >> Memory >> disk
- Prog gets compiled to low level machine instructions.
- CPU loads inst. in batches into memory
- on execution CPU loads data into memory
IV. Big O() Notation
- describes the upper bound on behaviour on algorithms, as some vars are scaled to infinity
- "Worst case" perfomance
- rules:
- Different steps get added
- for e.g. O(a) and O(b) are within same function. Then, for the function
BigO = O(a+b)
- for e.g. O(a) and O(b) are within same function. Then, for the function
- Different steps get added
- Drop the Constants
- e.g. O(N) and O(N) are within same function. Then, for the function
BigO = O(N)
and notO(2N)
- e.g. O(N) and O(N) are within same function. Then, for the function
- Drop the Constants
- Differene i/p => Different Vars
- e.g. in O(N) doesn't mean the length of the array. What you want to describe is instead
O(a*b)
in case array a and array b are used
- e.g. in O(N) doesn't mean the length of the array. What you want to describe is instead
- Differene i/p => Different Vars
- Drop non-dominate terms
- e.g. a function has O(N) and O(N^2), so here N^2 dominates, so, N ones is dropped
- Drop non-dominate terms
V. Basic Probability
- set, subset, event,
Vi. DNS
- name resolutions, IP address, CDN(content distribution network)
VII. Graphs
- network graphs,